<?php

namespace App\Trip\Traits\Pay;

use App\Models\Trip\OrderPay\OrderPay;

trait SubPayModelAttributeTrait
{
    /**
     * 支付金额 即支付时发起的支付金额 退款调用此参数
     *
     * @return float
     */
    public function getPayAmount(): float
    {
        return $this->getAttribute('pay_amount');
    }

    public function isPaying(): bool
    {
        return $this->getAttribute('pay_state') == OrderPay::PAY_STATE_WAITING;
    }

    public function isPaySuccess(): bool
    {
        return $this->getAttribute('pay_state') == OrderPay::PAY_STATE_SUCCESS;
    }

    /**
     * 获取系统支付单号
     *
     * @return string
     */
    public function getPaySn(): string
    {
        return $this->getAttribute('pay_sn');
    }

    public function getPayTitle(): string
    {
        return $this->getAttribute('pay_title');
    }

    /**
     * 支付方式 1 微信
     *
     * @return mixed
     */
    public function getPayType(): int
    {
        return $this->getAttribute('pay_type');
    }

    public function getUserId(): string
    {
        return $this->getAttribute('user_id');
    }

    /**
     * 冗余商户id 便于退款
     *
     * @return string
     */
    public function getMchId(): string
    {
        return $this->getAttribute('mchid');
    }

    /**
     * 冗余  便于分账
     *
     * @return string
     */
    public function getAppId(): string
    {
        return $this->getAttribute('appid');
    }

    public function getPayState(): int
    {
        return $this->getAttribute('pay_state');
    }


}